def compute_real_world_size(poly):
	w = None
	h = None
	v1 = mgGetChild(poly)
	ok, x, y, z = mgGetVtxCoord(v1)
	if not ok:
		return w, h
	p1 = mgMakeCoord3d(x, y, z)
	v2 = mgGetNext(v1)
	ok, x, y, z = mgGetVtxCoord(v2)
	if not ok:
		return w, h
	p2 = mgMakeCoord3d(x, y, z)
	v3 = mgGetNext(v2)
	ok, x, y, z = mgGetVtxCoord(v3)
	if not ok:
		return w, h
	p3 = mgMakeCoord3d(x, y, z)
	t1 = mgGetAttList(v1, fltVU, fltVV)[2::2]
	t2 = mgGetAttList(v2, fltVU, fltVV)[2::2]
	t3 = mgGetAttList(v3, fltVU, fltVV)[2::2]
	e1 = mgCoord3dSubtract(p2, p1)
	e2 = mgCoord3dSubtract(p3, p1)
	c = 1.0 / abs((t3[0] - t1[0]) * (t2[1] - t1[1]) - (t2[0] - t1[0]) * (t3[1] - t1[1]))
	T = mgCoord3dAdd(mgCoord3dMultiply(e2, t1[1] - t2[1]), mgCoord3dMultiply(e1, t3[1] - t1[1]))
	w = mgCoord3dLength(T) * c
	B = mgCoord3dAdd(mgCoord3dMultiply(e2, t2[0] - t1[0]), mgCoord3dMultiply(e1, t1[0] - t3[0]))
	h = mgCoord3dLength(B) * c
	return w, h